package com.eastfair.certificate.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.eastfair.annotation.annotation.vo.VoInfo;
import com.eastfair.annotation.model.BaseVoGroupClass;
import java.io.Serializable;
import com.eastfair.vo.BaseVO;

import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;

/**
 * <p>
 * 实体类
 * 制证模板详情
 * </p>
 *
 * @author ligang
 * @since 2022-12-20
 */
@Data
@ApiModel(value = "BadgeTemplateDetailVO", description = "制证模板详情")
public class BadgeTemplateDetailVO extends BaseVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private Long id;

    /**
     * 胸卡模板id
     */
    @ApiModelProperty(value = "胸卡模板id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Long templateId;
    /**
     * 字段
     */
    @ApiModelProperty(value = "字段")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Size(max = 30, message = "字段长度不能超过30")
    private String field;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @Size(max = 255, message = "名称长度不能超过255")
    @TableField(value = "name", condition = LIKE)
    @Excel(name = "名称")
    private String name;

    /**
     * 字段值
     */
    @ApiModelProperty(value = "字段值")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Size(max = 255, message = "字段值长度不能超过255")
    private String value;

    /**
     * 值类型#{TXT:文字;IMG:图片;}
     */
    @ApiModelProperty(value = "值类型#{TXT:文字;IMG:图片;}")
    @Excel(name = "值类型#{TXT:文字;IMG:图片;}", replace = {"文字_TXT", "图片_IMG",  "_null"})
    private String valueType;

    /**
     * 样式内容
     */
    @ApiModelProperty(value = "样式内容")
    @Excel(name = "样式内容")
    private String styleTxt;
    /**
     * 是否删除：1是；0否
     */
    @ApiModelProperty(value = "是否删除：1是；0否")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer isDeleted;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Long tenantId;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Long projectId;
    /**
     * 团队id
     */
    @ApiModelProperty(value = "团队id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Long teamId;
    /**
     * 子系统id
     */
    @ApiModelProperty(value = "子系统id")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Long subsystemId;
    /**
     * 是否可用，1是；0否
     */
    @ApiModelProperty(value = "是否可用，1是；0否")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer isEnabled;


    @ApiModelProperty(value = "")
    private Double leftSize;
    @ApiModelProperty(value = "")
    private String printRangeHeight;
    @ApiModelProperty(value = "")
    private Double topSize;
    @ApiModelProperty(value = "")
    private String printRangeWidth;

    /**
     * 前缀
     */
    @ApiModelProperty(value = "前缀")
    private String prefixField;

    /**
     * 做备注用,和业务无关,!!!禁止使用!!!
     */
    @ApiModelProperty(value = "做备注用,和业务无关,!!!禁止使用!!!")
    private String remark1;

    /**
     * 字体大小
     */
    @ApiModelProperty(value = "字体大小")
    private Integer size;










    /**
     * 是否下滑线 1代表有下划线,0代表无下划线
     */
    @ApiModelProperty(value = "是否下滑线 1代表有下划线,0代表无下划线")
    @TableField(value = "underline")
    @Excel(name = "是否下滑线 1代表有下划线,0代表无下划线")
    private Integer underline;

    /**
     * 是否斜体 1斜体 0不斜体
     */
    @ApiModelProperty(value = "是否斜体 1斜体 0不斜体")
    @TableField(value = "tilt")
    @Excel(name = "是否斜体 1斜体 0不斜体")
    private Integer tilt;

    /**
     * 是否粗体 1代表粗体,0代表非粗体
     */
    @ApiModelProperty(value = "是否粗体 1代表粗体,0代表非粗体")
    @TableField(value = "thickening")
    @Excel(name = "是否粗体 1代表粗体,0代表非粗体")
    private Integer thickening;

    /**
     * 左右靠齐方式 1左靠齐, 2居中,3右靠齐
     */
    @ApiModelProperty(value = "左右靠齐方式 1左靠齐, 2居中,3右靠齐")
    @TableField(value = "text_to_lcr")
    @Excel(name = "左右靠齐方式 1左靠齐, 2居中,3右靠齐")
    private Integer textToLcr;




}
